//package io.gitee.sojoys;
//
//import io.grpc.Server;
//import io.grpc.ServerBuilder;
//
//public class GrpcServer {
//
//    private int port = 50011;
//    private Server server;
//
//    private void start() throws Exception {
//        server = ServerBuilder.forPort(port).addService(new GreeterGrpcImpl()).build().start();
//        System.out.println("user service start ...");
//        Runtime.getRuntime().addShutdownHook(new Thread() {
//
//            @Override
//            public void run() {
//                // TODO Auto-generated method stub
//                super.run();
//                System.out.println("shutting down gRPC server since JVM is shutting down");
//                GrpcServer.this.stop();
//                System.out.println("server shut down");
//            }
//
//        });
//    }
//
//    private void stop() {
//        if (server != null) {
//            server.shutdown();
//        }
//    }
//
//    private void blockUntilShutdown() throws Exception {
//        if (server != null) {
//            server.awaitTermination();
//        }
//    }
//
//    /**
//     * @param args
//     * @throws Exception
//     */
//    public static void main(String[] args) throws Exception {
//        // TODO Auto-generated method stub
//        GrpcServer server = new GrpcServer();
//        server.start();
//        server.blockUntilShutdown();
//    }
//}
